科研星球

R语言统计与绘图:绘制百分比堆积条形图

1.加载R包

绘制图形前先安装和加载R包。

install.packages("readxl") # 安装包
install.packages("ggplot2")
install.packages("tidyr")
library(readxl) # 加载包
library(ggplot2)
library(tidyr)

2. 载入数据

数据在Excel中的格式见下图,文件名为test。wxsync-2020-08-a53e52eca2cbfd17160df6af2c545850.pngtest <- read_excel("test.xlsx") # 读取数据
wxsync-2020-08-a3865408d06c0de22b65539191717970.png

可以看出上述数据虽然有比例的具体数值,但是无法直接用于绘图,可以使用gather函数进行数据处理。

3. 处理数据

test1 <- gather(test, E1, E2, -prov)

其中,gather(test, E1, E2, -prov) 中的第一个参数要求类型为数据框,本例中为test数据框,第二个参数将原有数据框的列名放入,第三个参数将原有数据框中的数据放入,第四个参数表示保持prov列不变,变化后的数据结构如下:

test1


wxsync-2020-08-b3446a3038d04114458c90ec1fdba0f8.png

4. 绘制图形

ggplot(test1) +
  geom_bar(aes(x = prov, y = E2, fill = E1),
           stat = "identity") +
  labs(x = "京津冀地区", y = NULL, fill = "指标")


wxsync-2020-08-a8c357fc6e5edbdadf5fba61660dafca.png


绘制比较简单,因为是使用ggplot2包绘制的,更复杂的自定义参数可以参考《R数据可视化手册》这本书。



没有账号?